home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1992 June: ROMin Holiday / ADC Developer CD (1992-06) (''ROMin Holiday'')_iso / Developer Connection - 06-1992.iso / Development Platforms / Apple II / Essentials / Technical.Notes / GSOS / TN.GSOS.002 < prev    next >
Encoding:
Text File  |  1988-12-22  |  4.0 KB  |  78 lines  |  [TEXT/pdos]

  1. Apple II
  2. Technical Notes
  3. _____________________________________________________________________________
  4.                                                   Developer Technical Support
  5.  
  6.  
  7. GS/OS
  8. #2:    GS/OS and the 80-Column Firmware
  9.  
  10. Written by:    Matt Deatherage                                  November 1988
  11.  
  12. This Technical Note discusses the changes in handling the 80-column firmware 
  13. between GS/OS and ProDOS 16.
  14. _____________________________________________________________________________
  15.  
  16. For compatibility with the Apple IIe, the Apple IIGS does not treat slot 3 
  17. like it treats other slots.  Instead of using a bit in the Slot Register 
  18. ($C02D) to control the mapping of ROM in slot 3 between the built-in 80-column 
  19. firmware and any peripheral card physically in slot 3, the soft switches 
  20. SETINTC3ROM ($C00A) and SETSLOTC3ROM ($C00B) are used instead.  On the Apple 
  21. IIe, these soft switches (referred to by the single label SLOTC3ROM) 
  22. respectively map the ROM at $C300 to the internal 80-column firmware (which 
  23. works with the auxiliary-slot 80-column card in most IIe computers) or to a 
  24. peripheral card in slot 3.  Note that writing to SETSLOTC3ROM on a IIe or IIGS 
  25. with no card in slot 3 results in floating bus addresses in the $C300 space.
  26.  
  27. ProDOS 8 will not allow an Apple IIe or later model computer to have a card 
  28. other than an 80-column card in slot 3.  ProDOS 8 needs the 80-column firmware 
  29. on a 128K machine for use in the /RAM driver, and the enhanced Apple IIe has 
  30. some of the interrupt firmware in the $C300 space.  When ProDOS 8 is loaded in 
  31. an Apple IIe or later, it writes to SETSLOTC3ROM and looks at five 
  32. identification bytes.  If all five of these bytes do not match, ProDOS 8 will 
  33. write to SETINTC3ROM to use the internal firmware.  If all five bytes match, 
  34. the external slot 3 ROM is left mapped in.
  35.  
  36. ProDOS 16 fell victim to a bug in ProDOS 8 versions 1.2 through 1.6 which 
  37. always switched in the internal 80-column firmware, regardless of the user's 
  38. Control Panel setting.  GS/OS does not have this bug; a card in slot 3 of a 
  39. IIGS other than an 80-column card will not be mapped out by GS/OS.
  40.  
  41. Application programmers who require the 80-column firmware should be familiar 
  42. of the following points:
  43.  
  44. o    If your program contains a routine to insure that the 80-column 
  45.      firmware is indeed available, it could be buggy.  Since ProDOS 16 
  46.      always made the 80-column firmware available, your routine to 
  47.      check that condition may never have been executed.
  48. o    If your program requires the 80-column firmware and it is not 
  49.      available, your program should display a message on the screen 
  50.      informing the user that he must set Slot 3 in the Control Panel to 
  51.      Built-in Text Display for your program to execute, then gracefully 
  52.      exit.  Switching the $C300 ROM space, even with the user's 
  53.      permission, is not recommended.  Slot 3 could contain an operating 
  54.      GS/OS device, perhaps even the one your program was launched from.  
  55.      Remember, it is possible to boot  GS/OS from slot 3.
  56.  
  57. Do not try to be clever in a situation like this.  For example, do 
  58. not go looking at ID bytes in slot 3 to try to determine the type 
  59. of device present so that you can switch it out if you identify it 
  60. as a non-disk device.  Slot 3 could contain an active device being 
  61. operated by a loaded GS/OS driver.
  62.  
  63. Your program should not ask the user's permission to switch ROM 
  64. space between ports and slots (or in this case, the internal 
  65. firmware versus the external card).  That is why there is a 
  66. Control Panel.  Simply display a message informing the user that 
  67. he must set Slot 3 in the Control Panel to Built-in Text Display 
  68. for your program to execute.  You may offer to change the battery 
  69. RAM parameter for the user and restart the system (using the 
  70. OSShutdown call), but under no circumstances should you hit the 
  71. soft switch yourself, even with the user's permission.
  72.  
  73.  
  74. Further Reference
  75. o    GS/OS Reference, Volume 1
  76. o    ProDOS 8 Technical Note #15, How ProDOS 8 Treats Slot 3
  77.  
  78.